home *** CD-ROM | disk | FTP | other *** search
- /*
- -- ANSI C code generated by :
- -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) --
- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
- -- http://www.loria.fr/SmallEiffel --
- */
- #include "compile_to_jvm.h"
- T0* r355at(T355* C,T0* a1){
- T0* R=NULL;
- T0* _to_key=NULL;
- _to_key=X776to_key(a1);
- /*IF*/if (r199has(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_to_key)) {
- R=r199at(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_to_key);
- }
- /*FI*/return R;
- }
- int r355gt(T0* a1,T0* a2){
- int R=0;
- T0* _bcn2=NULL;
- T0* _bcn1=NULL;
- T0* _bf2=NULL;
- T0* _bf1=NULL;
- T0* _bc2=NULL;
- T0* _bc1=NULL;
- _bf1=(((T820*)((T820*)a1)))->_base_feature/*32*/;
- _bf2=(((T820*)((T820*)a2)))->_base_feature/*32*/;
- _bc1=/*X359*/((T0*)(((T398*)((T398*)_bf1)))->_base_class/*4*/);
- _bc2=/*X359*/((T0*)(((T398*)((T398*)_bf2)))->_base_class/*4*/);
- _bcn1=(((T605*)((T605*)_bc1)))->_base_class_name/*24*/;
- _bcn2=(((T605*)((T605*)_bc2)))->_base_class_name/*24*/;
- /*IF*/if (((((T451*)((T451*)_bcn1)))->_to_string/*0*/)==((void*)((((T451*)((T451*)_bcn2)))->_to_string/*0*/))) {
- R=r627before(((T627*)(X359start_position(_bf1))),X359start_position(_bf2));
- }
- else if (r451is_subclass_of(((T451*)_bcn2),_bcn1)) {
- R=1;
- }
- else if (r451is_subclass_of(((T451*)_bcn1),_bcn2)) {
- }
- else if (((((T605*)((T605*)_bc1)))->_parent_list/*40*/)==((void*)(NULL))) {
- /*IF*/if (((((T605*)((T605*)_bc2)))->_parent_list/*40*/)==((void*)(NULL))) {
- R=r7_px_60(((T7*)((((T451*)((T451*)_bcn1)))->_to_string/*0*/)),(((T451*)((T451*)_bcn2)))->_to_string/*0*/);
- }
- else {
- R=1;
- }
- /*FI*/}
- else if (((((T605*)((T605*)_bc2)))->_parent_list/*40*/)==((void*)(NULL))) {
- }
- else {
- R=(/*(IRF4.6count*/(((T26*)((T26*)((((T673*)((T673*)((((T605*)((T605*)_bc2)))->_parent_list/*40*/))))->_list/*12*/))))->_upper/*8*//*)*/)<(/*(IRF4.6count*/(((T26*)((T26*)((((T673*)((T673*)((((T605*)((T605*)_bc1)))->_parent_list/*40*/))))->_list/*12*/))))->_upper/*8*//*)*/);
- }
- /*FI*/return R;
- }
- /*No:RUN_CLASS.id*/
- T0* r355get_or_fatal_error(T355* C,T0* a1){
- T0* R=NULL;
- R=r355get_feature(C,a1);
- /*IF*/if ((R)==((void*)(NULL))) {
- r683add_position(X776start_position(a1));
- /*[IRF3.6append*/{T0* b1=((T0*)ms6_355);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(a1);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms7_355);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_type((((T355*)C))->_current_type/*0*/,((T0*)ms67_470));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*FI*/return R;
- }
- /*No:RUN_CLASS.fz_bad_assertion*/
- void r355falling_down(T355* C){
- int _i=0;
- T0* _rf=NULL;
- _i=1;
- while (!((_i)>((((T199*)((T199*)((((T355*)C))->_feature_dictionary/*24*/))))->_count/*40*/))) {
- _rf=r199item(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_i);
- X496fall_down(_rf);
- _i=(_i)+(1);
- }
- }
- /*No:RUN_CLASS.running*/
- T0* r355unqualified_name(T355* C){
- T0* R=NULL;
- T0* _type_bit=NULL;
- T0* _ct=NULL;
- _ct=(((T355*)C))->_current_type/*0*/;
- /*IF*/if (X291is_generic(_ct)) {
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC355ucpn)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)(oBC355ucpn)),'\137');
- r7append(((T7*)(oBC355ucpn)),(((T451*)((T451*)(X291base_class_name(_ct)))))->_to_string/*0*/);
- r7to_lower(((T7*)(oBC355ucpn)));
- r2append_in((((T355*)C))->_id/*4*/,oBC355ucpn);
- }
- else if (X291is_bit(_ct)) {
- _type_bit=_ct;
- if(NULL!=(_type_bit))switch(((T0*)_type_bit)->id) {
- case 549: case 558:
- break;
- default:
- _type_bit=NULL;
- };r7copy(((T7*)(oBC355ucpn)),((T0*)ms3_473));
- r2append_in(X609nb(_type_bit),oBC355ucpn);
- r7to_lower(((T7*)(oBC355ucpn)));
- }
- else {
- r7copy(((T7*)(oBC355ucpn)),(((T451*)((T451*)(X291base_class_name(_ct)))))->_to_string/*0*/);
- r7to_lower(((T7*)(oBC355ucpn)));
- }
- /*FI*/R=oBC355ucpn;
- return R;
- }
- T0* r355runnable(T0* a1,T0* a2,T0* a3){
- T0* R=NULL;
- T0* _a=NULL;
- int _i=0;
- /*IF*/if (!(r608empty(((T608*)a1)))) {
- R=r608twin(((T608*)a1));
- _i=(((T608*)((T608*)R)))->_upper/*8*/;
- while (!((_i)==(0))) {
- r604push(((T604*)(oBC364small_eiffel)),a3);
- _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r355error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
- }
- else {
- /*[IRF3.6put*/{T608* C1=((T608*)R);
- T0* b1=_a;
- int b2=_i;
- ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
- }/*]*/
- }
- /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void r355set_at_run_time(T355* C){
- int _i=0;
- T0* _rc=NULL;
- T0* _rcd=NULL;
- /*IF*/if (!((((T355*)C))->_at_run_time/*8*/)) {
- C->_at_run_time=1;
- C->_compile_to_c_done=0;
- r355add_running(C,(T0*)C);
- r604incr_magic_count(((T604*)(oBC364small_eiffel)));
- /*IF*/if (X291is_reference((((T355*)C))->_current_type/*0*/)) {
- _rcd=oBC604run_class_dictionary;
- _i=1;
- while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) {
- _rc=r250item(((T250*)_rcd),_i);
- /*IF*/if (r355is_a(C,_rc)) {
- r355add_running(((T355*)_rc),(T0*)C);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- /*FI*/}
- int r355is_a(T355* C,T0* a1){
- int R=0;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if ((a1)==((void*)(C))) {
- R=1;
- }
- else {
- _t1=(((T355*)C))->_current_type/*0*/;
- _t2=(((T355*)((T355*)a1)))->_current_type/*0*/;
- /*IF*/if ((X291is_basic_eiffel_expanded(_t1))&&(X291is_basic_eiffel_expanded(_t2))) {
- }
- else {
- R=X291is_a(_t1,_t2);
- /*IF*/if (!(R)) {
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- /*No:RUN_CLASS.writable_attributes_mem*/
- /*No:RUN_CLASS.actuals_clients*/
- T0* r355fully_qualified_name(T355* C){
- T0* R=NULL;
- r7copy(((T7*)(oBC355tmp_string)),(((T228*)((T228*)(oBC364jvm))))->_output_name/*16*/);
- r7extend(((T7*)(oBC355tmp_string)),'\57');
- r7append(((T7*)(oBC355tmp_string)),r355unqualified_name(C));
- R=oBC355tmp_string;
- return R;
- }
- void r355jvm_expanded_write_local(T355* C,int a1){
- /*IF*/if ((r355writable_attributes(C))==((void*)(NULL))) {
- r256opcode_istore(((T256*)(oBC364code_attribute)),a1);
- }
- else {
- r256opcode_astore(((T256*)(oBC364code_attribute)),a1);
- }
- /*FI*/}
- /*No:RUN_CLASS.at_run_time*/
- T0* r355get_rf(T355* C,T0* a1){
- T0* R=NULL;
- T0* _tfg=NULL;
- T0* _constraint=NULL;
- T0* _trt=NULL;
- T0* _wbc2=NULL;
- T0* _wbc=NULL;
- T0* _fn2=NULL;
- T0* _fn1=NULL;
- int _is_current=0;
- T0* _target=NULL;
- _target=X135target(a1);
- _trt=X662result_type(_target);
- _is_current=X662is_current(_target);
- _fn1=X135feature_name(a1);
- _wbc=r627base_class(((T627*)(X776start_position(_fn1))));
- /*IF*/if ((_is_current)||(X291is_like_current(_trt))) {
- _fn2=r605new_name_of(((T605*)(X291base_class(_trt))),_wbc,_fn1);
- /*IF*/if ((_fn2)!=((void*)(_fn1))) {
- r683add_position(X776start_position(_fn1));
- R=r355get_or_fatal_error(C,_fn2);
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- }
- else {
- R=r355get_or_fatal_error(C,_fn1);
- }
- /*FI*/}
- else if (X291is_formal_generic(_trt)) {
- _tfg=_trt;
- if(NULL!=(_tfg))switch(((T0*)_tfg)->id) {
- case 283:
- break;
- default:
- _tfg=NULL;
- };_constraint=r283constraint(((T283*)_tfg));
- /*IF*/if ((_constraint)==((void*)(NULL))) {
- R=r355get_or_fatal_error(C,_fn1);
- }
- else if (!(X291is_a(_trt,_constraint))) {
- r683print_as_error(((T683*)(oBC364eh)));
- r683add_position(X776start_position(X135feature_name(a1)));
- /*[IRF3.6append*/{T0* b1=((T0*)ms3_355);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- else {
- _wbc2=r627base_class(((T627*)(X291start_position(_constraint))));
- /*IF*/if (((_wbc2)==((void*)(_wbc)))||(r605is_subclass_of(((T605*)_wbc),_wbc2))) {
- _fn2=r605new_name_of(((T605*)(X291base_class(_trt))),X291base_class(_constraint),_fn1);
- R=r355get_or_fatal_error(C,_fn2);
- }
- else {
- R=r355get_or_fatal_error(C,_fn1);
- }
- /*FI*/}
- /*FI*/}
- else {
- R=r355get_or_fatal_error(C,_fn1);
- }
- /*FI*/X496add_client(R,(T0*)C);
- /*IF*/if ((((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&(!(_is_current)))&&(!(X496is_exported_in(R,(((T605*)((T605*)_wbc)))->_base_class_name/*24*/)))) {
- r683add_position(X496start_position(R));
- /*[IRF3.6append*/{T0* b1=((T0*)ms4_355);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(_fn1);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r355error(X776start_position(X135feature_name(a1)),((T0*)ms5_355));
- }
- /*FI*/return R;
- }
- T0* r355get_feature(T355* C,T0* a1){
- T0* R=NULL;
- T0* _bc=NULL;
- T0* _fn_key=NULL;
- T0* _f=NULL;
- _fn_key=X776to_key(a1);
- /*IF*/if (r199has(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_fn_key)) {
- R=r199at(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_fn_key);
- }
- else {
- _bc=r355base_class(C);
- _f=r605look_up_for(((T605*)_bc),(T0*)C,a1);
- /*IF*/if ((_f)==((void*)(NULL))) {
- r355efnf(C,_bc,a1);
- }
- else {
- R=X359to_run_feature(_f,(((T355*)C))->_current_type/*0*/,a1);
- /*IF*/if ((R)!=((void*)(NULL))) {
- r355store_feature(C,R);
- }
- else {
- r355efnf(C,_bc,a1);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- T0* r355class_with(T0* a1){
- T0* R=NULL;
- R=r604get_class(a1);
- return R;
- }
- void r355jvm_push_default(T355* C){
- T0* _cp=NULL;
- T0* _ca=NULL;
- T0* _t2=NULL;
- T0* _rf2=NULL;
- T0* _wa=NULL;
- int _idx=0;
- int _i=0;
- _ca=oBC364code_attribute;
- _idx=r355fully_qualified_constant_pool_index(C);
- r256opcode_new(((T256*)_ca),_idx);
- _wa=r355writable_attributes(C);
- /*IF*/if ((_wa)!=((void*)(NULL))) {
- _i=(((T280*)((T280*)_wa)))->_upper/*12*/;
- _cp=oBC364constant_pool;
- while (!((_i)==(0))) {
- _rf2=r280item(((T280*)_wa),_i);
- _t2=X291run_type((((T820*)((T820*)_rf2)))->_result_type/*24*/);
- /*IF*/if (X291is_user_expanded(_t2)) {
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- r355jvm_expanded_push_default(((T355*)(X291run_class(_t2))));
- _idx=r95idx_fieldref(((T95*)_cp),_rf2);
- r256opcode_putfield(((T256*)_ca),_idx,-(2));
- }
- else if (X291is_bit(_t2)) {
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- _idx=X291jvm_push_default(_t2);
- _idx=r95idx_fieldref(((T95*)_cp),_rf2);
- r256opcode_putfield(((T256*)_ca),_idx,-(2));
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*/}
- void r355efnf(T355* C,T0* a1,T0* a2){
- /*[IRF3.6append*/{T0* b1=((T0*)ms9_355);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)C))->_current_type/*0*/);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms10_355);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(a2);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms11_355);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)((T605*)a1)))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r355error(X776start_position(a2),((T0*)ms67_470));
- }
- void r355jvm_expanded_push_default(T355* C){
- T0* _t=NULL;
- int _i=0;
- int _idx=0;
- T0* _rf2=NULL;
- T0* _wa=NULL;
- T0* _rf=NULL;
- T0* _ca=NULL;
- _ca=oBC364code_attribute;
- _wa=r355writable_attributes(C);
- /*IF*/if ((_wa)==((void*)(NULL))) {
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)_ca),3,1);
- /*]*/
- }
- else {
- _idx=r355fully_qualified_constant_pool_index(C);
- r256opcode_new(((T256*)(oBC364code_attribute)),_idx);
- _i=(((T280*)((T280*)_wa)))->_upper/*12*/;
- while (!((_i)==(0))) {
- _rf2=r280item(((T280*)_wa),_i);
- _t=(((T820*)((T820*)_rf2)))->_result_type/*24*/;
- /*IF*/if (X291is_user_expanded(_t)) {
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- r355jvm_expanded_push_default(((T355*)(X291run_class(_t))));
- _idx=r95idx_fieldref(((T95*)(oBC364constant_pool)),_rf2);
- r256opcode_putfield(((T256*)_ca),_idx,-(2));
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*/_rf=r605expanded_initializer(((T605*)(r355base_class(C))),(((T355*)C))->_current_type/*0*/);
- /*IF*/if ((_rf)!=((void*)(NULL))) {
- r228push_expanded_initialize(((T228*)(oBC364jvm)),_rf);
- X496mapping_jvm(_rf);
- r228pop(((T228*)(oBC364jvm)));
- }
- /*FI*/}
- void r355make(T355* C,T0* a1){
- int _i=0;
- T0* _r=NULL;
- T0* _rc=NULL;
- T0* _rcd=NULL;
- T0* _run_string=NULL;
- C->_compile_to_c_done=1;
- C->_current_type=a1;
- {T187*n=malloc(sizeof(*n));
- *n=M187;
- r187with_capacity(n,16);
- C->_actuals_clients=(T0*)n;
- }
- _run_string=X291run_time_mark(a1);
- C->_id=r410item(((T410*)(r355id_provider())),_run_string);
- /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_is_ready/*0*/) {
- r355warning(NULL,((T0*)ms1_355));
- }
- /*FI*//*IF*/if (r250has(((T250*)(oBC604run_class_dictionary)),_run_string)) {
- r355warning(NULL,((T0*)ms2_355));
- }
- /*FI*/r250put(((T250*)(oBC604run_class_dictionary)),(T0*)C,_run_string);
- {T199*n=malloc(sizeof(*n));
- *n=M199;
- r199with_capacity(n,64);
- C->_feature_dictionary=(T0*)n;
- }
- r604incr_magic_count(((T604*)(oBC364small_eiffel)));
- /*IF*/if (X291is_expanded(a1)) {
- r355set_at_run_time(C);
- r605check_expanded_with(((T605*)(X291base_class(a1))),a1);
- }
- else {
- _rcd=oBC604run_class_dictionary;
- _i=1;
- while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) {
- _rc=r250item(((T250*)_rcd),_i);
- /*IF*/if ((((((T355*)((T355*)_rc)))->_at_run_time/*8*/)&&(X291is_reference((((T355*)((T355*)_rc)))->_current_type/*0*/)))&&(r355is_a(((T355*)_rc),(T0*)C))) {
- r355add_running(C,_rc);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*//*IF*/if (r590invariant_check(((T590*)(oBC364run_control)))) {
- r608clear(((T608*)(oBC355ci_collector)));
- r605collect_invariant(((T605*)(r355base_class(C))),(T0*)C);
- _r=r355runnable(oBC355ci_collector,(((T355*)C))->_current_type/*0*/,NULL);
- /*IF*/if ((_r)!=((void*)(NULL))) {
- {T699*n=malloc(sizeof(*n));
- *n=M699;
- r699from_runnable(n,_r);
- C->_invariant_assertion=(T0*)n;
- }
- }
- /*FI*/}
- /*FI*/}
- T0* r355jvm_root_class(void){
- if (fBC364jvm_root_class==0){
- T0* R=NULL;
- fBC364jvm_root_class=1;
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,12);
- R=(T0*)n;
- }
- r7copy(((T7*)R),(((T228*)((T228*)(oBC364jvm))))->_output_name/*16*/);
- r7extend(((T7*)R),'\57');
- r7append(((T7*)R),((T0*)ms112_470));
- oBC364jvm_root_class=R;}
- return oBC364jvm_root_class;}
- /*No:RUN_CLASS.nb_errors*/
- void r355jvm_expanded_descriptor_in(T355* C,T0* a1){
- T0* _ct=NULL;
- _ct=(((T355*)C))->_current_type/*0*/;
- /*IF*/if (X291is_user_expanded(_ct)) {
- /*IF*/if ((r355writable_attributes(C))==((void*)(NULL))) {
- r7extend(((T7*)a1),'B');
- }
- else {
- r7append(((T7*)a1),r355jvm_root_descriptor());
- }
- /*FI*/}
- else {
- X291jvm_descriptor_in(_ct,a1);
- }
- /*FI*/}
- void r355store_feature(T355* C,T0* a1){
- T0* _rf_key=NULL;
- _rf_key=X776to_key(/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/));
- /*IF*/if (r199has(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_rf_key)) {
- }
- else {
- r199put(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),a1,_rf_key);
- r604incr_magic_count(((T604*)(oBC364small_eiffel)));
- }
- /*FI*/}
- T0* r355writable_attributes(T355* C){
- T0* R=NULL;
- int _i=0;
- T0* _rf2=NULL;
- /*IF*/if (((((T355*)C))->_writable_attributes_mem/*32*/)==((void*)(NULL))) {
- _i=1;
- while (!((_i)>((((T199*)((T199*)((((T355*)C))->_feature_dictionary/*24*/))))->_count/*40*/))) {
- _rf2=r199item(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_i);
- if(NULL!=(_rf2))switch(((T0*)_rf2)->id) {
- case 820:
- break;
- default:
- _rf2=NULL;
- };/*IF*/if ((_rf2)!=((void*)(NULL))) {
- /*IF*/if (((((T355*)C))->_writable_attributes_mem/*32*/)==((void*)(NULL))) {
- C->_writable_attributes_mem=se_ma280(1,_rf2);
- }
- else {
- r280add_last(((T280*)((((T355*)C))->_writable_attributes_mem/*32*/)),_rf2);
- }
- /*FI*/}
- /*FI*/_i=(_i)+(1);
- }
- /*IF*/if (((((T355*)C))->_writable_attributes_mem/*32*/)!=((void*)(NULL))) {
- r355sort_wam((((T355*)C))->_writable_attributes_mem/*32*/);
- }
- /*FI*/}
- /*FI*/R=(((T355*)C))->_writable_attributes_mem/*32*/;
- return R;
- }
- /*No:RUN_CLASS.compile_to_c_done*/
- void r355jvm_expanded_push_local(T355* C,int a1){
- /*IF*/if ((r355writable_attributes(C))==((void*)(NULL))) {
- r256opcode_iload(((T256*)(oBC364code_attribute)),a1);
- }
- else {
- r256opcode_aload(((T256*)(oBC364code_attribute)),a1);
- }
- /*FI*/}
- T0*oBC355ci_collector=NULL;
- void r355jvm_expanded_xaload(T355* C){
- /*IF*/if ((r355writable_attributes(C))==((void*)(NULL))) {
- /*[IRF3.4opcode_baload*/r256opcode(((T256*)(oBC364code_attribute)),51,-(1));
- /*]*/
- }
- else {
- /*[IRF3.4opcode_aaload*/r256opcode(((T256*)(oBC364code_attribute)),50,-(1));
- /*]*/
- }
- /*FI*/}
- /*No:RUN_CLASS.fz_invariant*/
- void r355jvm_expanded_xastore(T355* C){
- /*IF*/if ((r355writable_attributes(C))==((void*)(NULL))) {
- /*[IRF3.4opcode_bastore*/r256opcode(((T256*)(oBC364code_attribute)),84,-(3));
- /*]*/
- }
- else {
- /*[IRF3.4opcode_aastore*/r256opcode(((T256*)(oBC364code_attribute)),83,-(3));
- /*]*/
- }
- /*FI*/}
- int r355jvm_expanded_if_x_ne(T355* C){
- int R=0;
- /*IF*/if ((r355writable_attributes(C))==((void*)(NULL))) {
- R=r256opcode_if_icmpne(((T256*)(oBC364code_attribute)));
- }
- else {
- R=r256opcode_if_acmpne(((T256*)(oBC364code_attribute)));
- }
- /*FI*/return R;
- }
- void r355add_running(T355* C,T0* a1){
- /*IF*/if (((((T355*)C))->_running/*12*/)==((void*)(NULL))) {
- C->_running=se_ma396(1,a1);
- }
- else {
- /*IF*/if (!(r396fast_has(((T396*)((((T355*)C))->_running/*12*/)),a1))) {
- r396add_last(((T396*)((((T355*)C))->_running/*12*/)),a1);
- }
- /*FI*/}
- /*FI*/}
- T0*oBC355ucpn=NULL;
- void r355jvm_define_class_invariant(T355* C){
- T0* _ia=NULL;
- /*IF*/if (r590invariant_check(((T590*)(oBC364run_control)))) {
- _ia=(((T355*)C))->_invariant_assertion/*16*/;
- /*IF*/if ((_ia)!=((void*)(NULL))) {
- r228define_class_invariant_method(((T228*)(oBC364jvm)),_ia);
- }
- /*FI*/}
- /*FI*/}
- void r355add_client(T355* C,T0* a1){
- int _i=0;
- _i=r187fast_index_of(((T187*)((((T355*)C))->_actuals_clients/*28*/)),a1);
- /*IF*/if ((_i)>((((T187*)((T187*)((((T355*)C))->_actuals_clients/*28*/))))->_upper/*8*/)) {
- r187add_last(((T187*)((((T355*)C))->_actuals_clients/*28*/)),a1);
- }
- /*FI*/}
- void r355jvm_check_class_invariant(T355* C){
- T0* _cp=NULL;
- T0* _ca=NULL;
- int _idx=0;
- T0* _ia=NULL;
- /*IF*/if (r590invariant_check(((T590*)(oBC364run_control)))) {
- _ia=(((T355*)C))->_invariant_assertion/*16*/;
- /*IF*/if ((_ia)!=((void*)(NULL))) {
- _ca=oBC364code_attribute;
- _cp=oBC364constant_pool;
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- _idx=r95idx_methodref3(((T95*)_cp),r355fully_qualified_name(C),((T0*)ms26_470),((T0*)ms161_470));
- r256opcode_invokevirtual(((T256*)_ca),_idx,-(1));
- }
- /*FI*/}
- /*FI*/}
- T0* r355jvm_root_descriptor(void){
- if (fBC364jvm_root_descriptor==0){
- T0* R=NULL;
- fBC364jvm_root_descriptor=1;
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,12);
- R=(T0*)n;
- }
- r7extend(((T7*)R),'L');
- r7append(((T7*)R),r355jvm_root_class());
- r7extend(((T7*)R),'\73');
- oBC364jvm_root_descriptor=R;}
- return oBC364jvm_root_descriptor;}
- T0* r355get_feature_with(T355* C,T0* a1){
- T0* R=NULL;
- T0* _sfn=NULL;
- /*IF*/if (r199has(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),a1)) {
- R=r199at(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),a1);
- }
- else {
- {T446*n=malloc(sizeof(*n));
- *n=M446;
- r446make(n,a1,NULL);
- _sfn=(T0*)n;
- }
- R=r355get_feature(C,_sfn);
- }
- /*FI*/return R;
- }
- /*No:RUN_CLASS.collect_invariant*/
- T0*oBC355tmp_string=NULL;
- /*No:RUN_CLASS.us_bit*/
- T0* r355id_provider(void){
- if (fBC364id_provider==0){
- T0* R=NULL;
- fBC364id_provider=1;
- {T410*n=malloc(sizeof(*n));
- *n=M410;
- r410make(n);
- R=(T0*)n;
- }
- oBC364id_provider=R;}
- return oBC364id_provider;}
- /*No:RUN_CLASS.current_type*/
- void r355jvm_expanded_return_code(T355* C){
- /*IF*/if ((r355writable_attributes(C))==((void*)(NULL))) {
- /*[IRF3.2opcode_ireturn*//*[IRF3.6add_u1*/{int b1=172;
- r226add_last(((T226*)(oBC256code)),b1);
- }/*]*/
- /*]*/
- }
- else {
- /*[IRF3.2opcode_areturn*//*[IRF3.6add_u1*/{int b1=176;
- r226add_last(((T226*)(oBC256code)),b1);
- }/*]*/
- /*]*/
- }
- /*FI*/}
- /*No:RUN_CLASS.fz_29*/
- T0* r355get_copy(T355* C){
- T0* R=NULL;
- R=r355get_rf_with(C,/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r605get_copy(((T605*)(r355class_general())))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/));
- return R;
- }
- /*No:RUN_CLASS.invariant_assertion*/
- void r355jvm_invoke(T355* C,int a1,int a2){
- T0* _ct=NULL;
- _ct=(((T355*)C))->_current_type/*0*/;
- /*IF*/if (X291is_reference(_ct)) {
- r256opcode_invokevirtual(((T256*)(oBC364code_attribute)),a1,a2);
- }
- else if (X291is_basic_eiffel_expanded(_ct)) {
- r256opcode_invokestatic(((T256*)(oBC364code_attribute)),a1,a2);
- }
- else if ((r355writable_attributes(C))==((void*)(NULL))) {
- r256opcode_invokestatic(((T256*)(oBC364code_attribute)),a1,a2);
- }
- else {
- r256opcode_invokevirtual(((T256*)(oBC364code_attribute)),a1,a2);
- }
- /*FI*/}
- /*No:RUN_CLASS.fz_jvm_root*/
- T0* r355dynamic(T355* C,T0* a1){
- T0* R=NULL;
- T0* _up_type=NULL;
- T0* _up_fn=NULL;
- T0* _fn=NULL;
- _up_type=/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/);
- /*IF*/if ((C)==((void*)(X291run_class(_up_type)))) {
- R=a1;
- }
- else {
- _up_fn=/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/);
- _fn=r605new_name_of(((T605*)(r355base_class(C))),X291base_class(_up_type),_up_fn);
- R=r355get_or_fatal_error(C,_fn);
- }
- /*FI*/return R;
- }
- void r355compile_to_jvm(T355* C){
- T0* _rf=NULL;
- int _i=0;
- r306put_character(((T306*)(oBC364echo)),'\11');
- r306put_string(((T306*)(oBC364echo)),X291run_time_mark((((T355*)C))->_current_type/*0*/));
- r306put_character(((T306*)(oBC364echo)),'\n');
- r228start_new_class(((T228*)(oBC364jvm)),(T0*)C);
- _i=1;
- while (!((_i)>((((T199*)((T199*)((((T355*)C))->_feature_dictionary/*24*/))))->_count/*40*/))) {
- _rf=r199item(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_i);
- /*[IRF3.3set_current_frame*/((((T228*)(((T228*)(oBC364jvm)))))->_current_frame)=(_rf);
- /*]*/
- X496jvm_field_or_method(_rf);
- _i=(_i)+(1);
- }
- /*[IRF3.2prepare_fields*/{T0* _rf=NULL;
- int _i=0;
- _i=/*X308*/((int)(((T308*)((T308*)(oBC228fields))))->_upper/*12*/);
- while (!((_i)<(0))) {
- _rf=/*X308*/((T0*)r308item(((T308*)(oBC228fields)),_i));
- X496jvm_define(_rf);
- _i=(_i)-(1);
- }
- }/*]*/
- r228prepare_methods(((T228*)(oBC364jvm)));
- r228finish_class(((T228*)(oBC364jvm)));
- }
- /*No:RUN_CLASS.fz_dot*/
- int r355fully_qualified_constant_pool_index(T355* C){
- int R=0;
- R=r95idx_class2(((T95*)(oBC364constant_pool)),r355fully_qualified_name(C));
- return R;
- }
- int fBC364class_general=0;
- T0*oBC364class_general=NULL;
- T0* r355class_general(void){
- if (fBC364class_general==0){
- T0* R=NULL;
- fBC364class_general=1;
- R=r355class_with(((T0*)ms14_473));
- oBC364class_general=R;}
- return oBC364class_general;}
- void r355sort_wam(T0* a1){
- int _moved=0;
- int _buble=0;
- int _max=0;
- int _min=0;
- _max=(((T280*)((T280*)a1)))->_upper/*12*/;
- _min=1;
- _moved=1;
- while (!(!(_moved))) {
- _moved=0;
- /*IF*/if (((_max)-(_min))>(0)) {
- _buble=(_min)+(1);
- while (!((_buble)>(_max))) {
- /*IF*/if (r355gt(r280item(((T280*)a1),(_buble)-(1)),r280item(((T280*)a1),_buble))) {
- r280swap(((T280*)a1),(_buble)-(1),_buble);
- _moved=1;
- }
- /*FI*/_buble=(_buble)+(1);
- }
- _max=(_max)-(1);
- }
- /*FI*//*IF*/if ((_moved)&&(((_max)-(_min))>(0))) {
- _moved=0;
- _buble=(_max)-(1);
- while (!((_buble)<(_min))) {
- /*IF*/if (r355gt(r280item(((T280*)a1),_buble),r280item(((T280*)a1),(_buble)+(1)))) {
- r280swap(((T280*)a1),_buble,(_buble)+(1));
- _moved=1;
- }
- /*FI*/_buble=(_buble)-(1);
- }
- _min=(_min)+(1);
- }
- /*FI*/}
- }
- void r355error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- T0* r355base_class(T355* C){
- T0* R=NULL;
- R=X291base_class((((T355*)C))->_current_type/*0*/);
- return R;
- }
- /*No:RUN_CLASS.feature_dictionary*/
- T0* r355get_rf_with(T355* C,T0* a1){
- T0* R=NULL;
- T0* _wbc=NULL;
- T0* _fn2=NULL;
- _wbc=r627base_class(((T627*)(X776start_position(a1))));
- _fn2=r605new_name_of(((T605*)(r355base_class(C))),_wbc,a1);
- /*IF*/if ((_fn2)!=((void*)(a1))) {
- r683add_position(X776start_position(a1));
- R=r355get_or_fatal_error(C,_fn2);
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- }
- else {
- R=r355get_or_fatal_error(C,_fn2);
- }
- /*FI*/return R;
- }
- int r355jvm_expanded_if_x_eq(T355* C){
- int R=0;
- /*IF*/if ((r355writable_attributes(C))==((void*)(NULL))) {
- R=r256opcode_if_icmpeq(((T256*)(oBC364code_attribute)));
- }
- else {
- R=r256opcode_if_acmpeq(((T256*)(oBC364code_attribute)));
- }
- /*FI*/return R;
- }
- void r355afd_check(T355* C){
- int _i=0;
- T0* _rf=NULL;
- _i=1;
- while (!((_i)>((((T199*)((T199*)((((T355*)C))->_feature_dictionary/*24*/))))->_count/*40*/))) {
- _rf=r199item(((T199*)((((T355*)C))->_feature_dictionary/*24*/)),_i);
- X496afd_check(_rf);
- _i=(_i)+(1);
- }
- }
- /*No:RUN_CLASS.us_general*/
- void r355warning(T0* a1,T0* a2){
- r683add_position(a1);
- r683warning(((T683*)(oBC364eh)),a2);
- }
- int r636gives_permission_to_any(T636* C){
- int R=0;
- /*IF*/if (/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/) {
- R=1;
- }
- else if (((((T636*)C))->_list/*4*/)==((void*)(NULL))) {
- }
- else {
- R=r33gives_permission_to_any(((T33*)((((T636*)C))->_list/*4*/)));
- }
- /*FI*/return R;
- }
- void r636merge(T636* C,T0* a1,T0* a2,T0* a3){
- C->_start_position=a1;
- {T33*n=malloc(sizeof(*n));
- *n=M33;
- r33merge(n,a2,a3);
- C->_list=(T0*)n;
- }
- }
- void r636make(T636* C,T0* a1,T0* a2){
- C->_start_position=a1;
- /*IF*/if ((a2)!=((void*)(NULL))) {
- {T33*n=malloc(sizeof(*n));
- *n=M33;
- r33make(n,a2);
- C->_list=(T0*)n;
- }
- }
- /*FI*/}
- /*No:CLIENT_LIST.start_position*/
- /*No:CLIENT_LIST.is_omitted*/
- int r636gives_permission_to(T636* C,T0* a1){
- int R=0;
- /*IF*/if (/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/) {
- R=1;
- }
- else if (((((T636*)C))->_list/*4*/)==((void*)(NULL))) {
- }
- else {
- R=r33gives_permission_to(((T33*)((((T636*)C))->_list/*4*/)),a1);
- }
- /*FI*//*IF*/if (!(R)) {
- r683add_position((((T636*)C))->_start_position/*0*/);
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)a1)))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms4_636);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- }
- /*FI*/return R;
- }
- /*No:CLIENT_LIST.list*/
- /*No:CLIENT_LIST.omitted*/
- T0* r636append(T636* C,T0* a1){
- T0* R=NULL;
- /*IF*/if ((((C)==((void*)(a1)))||(/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/))||(r636gives_permission_to_any(C))) {
- R=(T0*)C;
- }
- else if ((/*(IRF4.7is_omitted*/((((T636*)((T636*)a1)))->_start_position/*0*/)==(NULL)/*)*/)||(r636gives_permission_to_any(((T636*)a1)))) {
- R=a1;
- }
- else {
- {T636*n=malloc(sizeof(*n));
- *n=M636;
- r636merge(n,(((T636*)C))->_start_position/*0*/,(((T636*)C))->_list/*4*/,(((T636*)((T636*)a1)))->_list/*4*/);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- T0* r358add_comment(T358* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
- R=(T0*)C;
- }
- else {
- {T529*n=malloc(sizeof(*n));
- *n=M529;
- r529make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- int r358to_integer(T358* C){
- int R=0;
- r358error((((T358*)C))->_start_position/*20*/,((T0*)ms69_470));
- return R;
- }
- int r358is_a(T358* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type(/*(IRF4.3result_type*/(((T358*)C))->_current_type/*8*//*)*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position((((T358*)C))->_start_position/*20*/);
- r358error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:E_CURRENT.is_current*/
- int r358jvm_branch_if_false(T358* C){
- int R=0;
- r358compile_to_jvm(C);
- R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
- return R;
- }
- /*No:E_CURRENT.static_value*/
- /*No:E_CURRENT.is_written*/
- void r358make(T358* C,T0* a1,int a2){
- C->_start_position=a1;
- C->_is_written=a2;
- C->_to_string=((T0*)ms143_473);
- }
- /*No:E_CURRENT.us_current*/
- /*No:E_CURRENT.to_string*/
- /*No:E_CURRENT.compile_to_jvm_assignment*/
- /*No:E_CURRENT.fz_iinaiv*/
- int r358jvm_branch_if_true(T358* C){
- int R=0;
- r358compile_to_jvm(C);
- R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
- return R;
- }
- /*No:E_CURRENT.start_position*/
- /*No:E_CURRENT.compile_to_jvm_old*/
- T0* r358to_runnable(T358* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T358*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- R=(T0*)C;
- }
- else if (((((T358*)C))->_current_type/*8*/)==((void*)(a1))) {
- R=(T0*)C;
- }
- else {
- {T358*n=malloc(sizeof(*n));
- *n=M358;
- r358make(n,(((T358*)C))->_start_position/*20*/,(((T358*)C))->_is_written/*16*/);
- R=(T0*)n;
- }
- /*[IRF3.3set_current_type*/((((T358*)(((T358*)R))))->_current_type)=(a1);
- /*]*/
- }
- /*FI*/return R;
- }
- /*No:E_CURRENT.result_type*/
- /*No:E_CURRENT.is_result*/
- /*No:E_CURRENT.set_current_type*/
- /*No:E_CURRENT.is_static*/
- void r358standard_compile_target_to_jvm(T358* C){
- r358compile_to_jvm(C);
- X291jvm_check_class_invariant(/*(IRF4.3result_type*/(((T358*)C))->_current_type/*8*//*)*/);
- }
- int r358compile_to_jvm_into(T358* C,T0* a1){
- int R=0;
- R=r358standard_compile_to_jvm_into(C,a1);
- return R;
- }
- void r358compile_target_to_jvm(T358* C){
- /*IF*/if ((((T358*)C))->_is_written/*16*/) {
- r358standard_compile_target_to_jvm(C);
- }
- else {
- r358compile_to_jvm(C);
- }
- /*FI*/}
- /*No:E_CURRENT.can_be_dropped*/
- /*No:E_CURRENT.current_type*/
- /*No:E_CURRENT.jvm_assign*/
- /*No:E_CURRENT.static_value_mem*/
- /*No:E_CURRENT.is_manifest_string*/
- /*No:E_CURRENT.is_void*/
- void r358compile_to_jvm(T358* C){
- X291jvm_push_local(/*(IRF4.3result_type*/(((T358*)C))->_current_type/*8*//*)*/,0);
- }
- /*No:E_CURRENT.is_pre_computable*/
- /*No:E_CURRENT.use_current*/
- void r358error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:E_CURRENT.isa_dca_inline_argument*/
- int r358standard_compile_to_jvm_into(T358* C,T0* a1){
- int R=0;
- r358compile_to_jvm(C);
- R=X291jvm_convert_to(X291run_type(/*(IRF4.3result_type*/(((T358*)C))->_current_type/*8*//*)*/),a1);
- return R;
- }
- /*No:E_CURRENT.afd_check*/
- /*No:COMPOUND.empty_or_null_body*/
- void r592make(T592* C,T0* a1,T0* a2){
- C->_header_comment=a1;
- C->_list=a2;
- }
- /*No:COMPOUND.nb_errors*/
- T0* r592to_runnable(T592* C,T0* a1){
- T0* R=NULL;
- T0* _i2=NULL;
- T0* _i1=NULL;
- int _i=0;
- /*IF*/if (((((T592*)C))->_current_type/*4*/)==((void*)(NULL))) {
- C->_current_type=a1;
- /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((_i)==(0))) {
- _i1=r419item(((T419*)((((T592*)C))->_list/*8*/)),_i);
- _i2=X465to_runnable(_i1,(T0*)C);
- /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) {
- /*[IRF3.6append*/{T0* b1=((T0*)ms1_592);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X291written_mark((((T592*)C))->_current_type/*4*/);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_position(X465start_position(_i1));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_592);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- else {
- /*[IRF3.6put*/{T419* C1=((T419*)((((T592*)C))->_list/*8*/));
- T0* b1=_i2;
- int b2=_i;
- ((((T419*)C1))->_storage/*0*/)[(b2)-((((T419*)C1))->_lower/*12*/)]=(b1);
- }/*]*/
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*/R=(T0*)C;
- }
- else {
- /*IF*/if (((((T592*)C))->_list/*8*/)==((void*)(NULL))) {
- {T592*n=malloc(sizeof(*n));
- *n=M592;
- r592make(n,(((T592*)C))->_header_comment/*0*/,NULL);
- R=(T0*)n;
- }
- }
- else {
- {T592*n=malloc(sizeof(*n));
- *n=M592;
- r592make(n,(((T592*)C))->_header_comment/*0*/,r419twin(((T419*)((((T592*)C))->_list/*8*/))));
- R=(T0*)n;
- }
- }
- /*FI*/R=r592to_runnable(((T592*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:COMPOUND.list*/
- /*No:COMPOUND.current_type*/
- T0* r592run_class(T592* C){
- T0* R=NULL;
- R=X291run_class((((T592*)C))->_current_type/*4*/);
- return R;
- }
- /*No:COMPOUND.header_comment*/
- void r592compile_to_jvm(T592* C){
- int _i=0;
- /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=1;
- while (!((_i)>((((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/))) {
- X465compile_to_jvm(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- int r592is_pre_computable(T592* C){
- int R=0;
- int _i=0;
- /*IF*/if (((((T592*)C))->_list/*8*/)==((void*)(NULL))) {
- R=1;
- }
- else {
- _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
- R=1;
- while (!((!(R))||((_i)==(0)))) {
- R=X465is_pre_computable(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- int r592use_current(T592* C){
- int R=0;
- int _i=0;
- /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((R)||((_i)==(0)))) {
- R=X465use_current(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- int r592count(T592* C){
- int R=0;
- /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
- R=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
- }
- /*FI*/return R;
- }
- /*No:COMPOUND.fatal_error*/
- T0* r592first(T592* C){
- T0* R=NULL;
- /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
- R=r419first(((T419*)((((T592*)C))->_list/*8*/)));
- }
- /*FI*/return R;
- }
- void r592afd_check(T592* C){
- int _i=0;
- /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((_i)==(0))) {
- X465afd_check(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
- _i=(_i)-(1);
- }
- }
- /*FI*/}
- T0* r529add_comment(T529* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
- R=(T0*)C;
- }
- else {
- {T529*n=malloc(sizeof(*n));
- *n=M529;
- r529make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- int r529to_integer(T529* C){
- int R=0;
- r529error(r529start_position(C),((T0*)ms69_470));
- return R;
- }
- int r529is_a(T529* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type(r529result_type(C)),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(r529start_position(C));
- r529error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:EXPRESSION_WITH_COMMENT.is_current*/
- int r529jvm_branch_if_false(T529* C){
- int R=0;
- R=X662jvm_branch_if_false((((T529*)C))->_expression/*12*/);
- return R;
- }
- /*No:EXPRESSION_WITH_COMMENT.static_value*/
- void r529make(T529* C,T0* a1,T0* a2){
- C->_expression=a1;
- C->_comment=a2;
- }
- void r529compile_to_jvm_assignment(T529* C,T0* a1){
- X662compile_to_jvm_assignment((((T529*)C))->_expression/*12*/,a1);
- }
- /*No:EXPRESSION_WITH_COMMENT.fz_iinaiv*/
- int r529jvm_branch_if_true(T529* C){
- int R=0;
- R=X662jvm_branch_if_true((((T529*)C))->_expression/*12*/);
- return R;
- }
- /*No:EXPRESSION_WITH_COMMENT.expression*/
- T0* r529start_position(T529* C){
- T0* R=NULL;
- R=X662start_position((((T529*)C))->_expression/*12*/);
- return R;
- }
- void r529compile_to_jvm_old(T529* C){
- X662compile_to_jvm_old((((T529*)C))->_expression/*12*/);
- }
- /*No:EXPRESSION_WITH_COMMENT.comment*/
- T0* r529to_runnable(T529* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T529*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- C->_expression=X662to_runnable((((T529*)C))->_expression/*12*/,a1);
- R=(T0*)C;
- }
- else {
- R=r529twin(C);
- /*[IRF3.3set_current_type*/((((T529*)(((T529*)R))))->_current_type)=(NULL);
- /*]*/
- R=r529to_runnable(((T529*)R),a1);
- }
- /*FI*/return R;
- }
- T0* r529result_type(T529* C){
- T0* R=NULL;
- R=X662result_type((((T529*)C))->_expression/*12*/);
- return R;
- }
- /*No:EXPRESSION_WITH_COMMENT.is_result*/
- T0* r529twin(T529* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T529*)R)=*C;
- return R;
- }
- /*No:EXPRESSION_WITH_COMMENT.set_current_type*/
- int r529is_static(T529* C){
- int R=0;
- R=X662is_static((((T529*)C))->_expression/*12*/);
- /*IF*/if (R) {
- C->_static_value_mem=X662static_value_mem((((T529*)C))->_expression/*12*/);
- }
- /*FI*/return R;
- }
- int r529compile_to_jvm_into(T529* C,T0* a1){
- int R=0;
- R=X662compile_to_jvm_into((((T529*)C))->_expression/*12*/,a1);
- return R;
- }
- void r529compile_target_to_jvm(T529* C){
- X662compile_target_to_jvm((((T529*)C))->_expression/*12*/);
- }
- int r529can_be_dropped(T529* C){
- int R=0;
- R=X662can_be_dropped((((T529*)C))->_expression/*12*/);
- return R;
- }
- /*No:EXPRESSION_WITH_COMMENT.current_type*/
- void r529jvm_assign(T529* C){
- X662jvm_assign((((T529*)C))->_expression/*12*/);
- }
- /*No:EXPRESSION_WITH_COMMENT.static_value_mem*/
- /*No:EXPRESSION_WITH_COMMENT.is_manifest_string*/
- /*No:EXPRESSION_WITH_COMMENT.is_void*/
- void r529compile_to_jvm(T529* C){
- X662compile_to_jvm((((T529*)C))->_expression/*12*/);
- }
- int r529is_pre_computable(T529* C){
- int R=0;
- R=X662is_pre_computable((((T529*)C))->_expression/*12*/);
- return R;
- }
- int r529use_current(T529* C){
- int R=0;
- R=X662use_current((((T529*)C))->_expression/*12*/);
- return R;
- }
- void r529error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- int r529isa_dca_inline_argument(T529* C){
- int R=0;
- R=X662isa_dca_inline_argument((((T529*)C))->_expression/*12*/);
- return R;
- }
- void r529afd_check(T529* C){
- X662afd_check((((T529*)C))->_expression/*12*/);
- }
- T0* r436sd(T0* a1){
- T0* R=NULL;
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC436tmp_string)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)(oBC436tmp_string)),'\133');
- X291jvm_descriptor_in(a1,oBC436tmp_string);
- R=oBC436tmp_string;
- return R;
- }
- T0* r436add_comment(T436* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
- R=(T0*)C;
- }
- else {
- {T529*n=malloc(sizeof(*n));
- *n=M529;
- r529make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- int r436to_integer(T436* C){
- int R=0;
- r436error((((T436*)C))->_start_position/*12*/,((T0*)ms69_470));
- return R;
- }
- int r436is_a(T436* C,T0* a1){
- int R=0;
- R=r709is_a(((T709*)((((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_run_type/*16*/)),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position((((T436*)C))->_start_position/*12*/);
- r436error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:MANIFEST_ARRAY.is_current*/
- /*No:MANIFEST_ARRAY.jvm_branch_if_false*/
- /*No:MANIFEST_ARRAY.us_lower*/
- /*No:MANIFEST_ARRAY.static_value*/
- /*No:MANIFEST_ARRAY.us_capacity*/
- void r436make(T436* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_list=a2;
- }
- /*No:MANIFEST_ARRAY.nb_errors*/
- /*No:MANIFEST_ARRAY.compile_to_jvm_assignment*/
- /*No:MANIFEST_ARRAY.fz_iinaiv*/
- T0* r436type_any(void){
- if (fBC364type_any==0){
- T0* R=NULL;
- fBC364type_any=1;
- {T669*n=malloc(sizeof(*n));
- *n=M669;
- r669make(n,NULL);
- R=(T0*)n;
- }
- oBC364type_any=R;}
- return oBC364type_any;}
- /*No:MANIFEST_ARRAY.jvm_branch_if_true*/
- /*No:MANIFEST_ARRAY.start_position*/
- void r436compile_to_jvm_old(T436* C){
- int _i=0;
- /*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
- _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
- while (!((_i)==(0))) {
- X662compile_to_jvm_old(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
- _i=(_i)-(1);
- }
- }
- /*FI*/}
- T0* r436to_runnable(T436* C,T0* a1){
- T0* R=NULL;
- T0* _t=NULL;
- T0* _e=NULL;
- int _i=0;
- /*IF*/if (((((T436*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- _t=r436type_any();
- }
- else {
- _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
- while (!((_i)==(0))) {
- _e=X662to_runnable(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)),a1);
- /*IF*/if ((_e)==((void*)(NULL))) {
- r683add_position((((T436*)C))->_start_position/*12*/);
- r436error(X662start_position(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i))),((T0*)ms1_436));
- _i=0;
- }
- else {
- /*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T436*)C))->_list/*16*/));
- T0* b1=_e;
- int b2=_i;
- ((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1);
- }/*]*/
- /*IF*/if ((_t)==((void*)(NULL))) {
- _t=X662result_type(_e);
- }
- else {
- _t=X291smallest_ancestor(_t,X662result_type(_e));
- }
- /*FI*/_i=(_i)-(1);
- }
- /*FI*/}
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- {T709*n=malloc(sizeof(*n));
- *n=M709;
- r709make(n,(((T436*)C))->_start_position/*12*/,X291run_type(_t));
- C->_result_type=(T0*)n;
- }
- C->_result_type=r709to_runnable(((T709*)((((T436*)C))->_result_type/*20*/)),(((T436*)C))->_current_type/*8*/);
- r355set_at_run_time(((T355*)(r709run_class(((T709*)((((T436*)C))->_result_type/*20*/))))));
- R=(T0*)C;
- /*IF*/if ((X291is_reference(_t))&&(((((T436*)C))->_list/*16*/)!=((void*)(NULL)))) {
- _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
- while (!((_i)==(0))) {
- _t=X662result_type(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
- /*IF*/if (X291is_expanded(_t)) {
- X291used_as_reference(_t);
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- {T436*n=malloc(sizeof(*n));
- *n=M436;
- r436make(n,(((T436*)C))->_start_position/*12*/,NULL);
- R=(T0*)n;
- }
- }
- else {
- {T436*n=malloc(sizeof(*n));
- *n=M436;
- r436make(n,(((T436*)C))->_start_position/*12*/,X96twin((((T436*)C))->_list/*16*/));
- R=(T0*)n;
- }
- }
- /*FI*/R=r436to_runnable(((T436*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:MANIFEST_ARRAY.fz_30*/
- /*No:MANIFEST_ARRAY.result_type*/
- /*No:MANIFEST_ARRAY.is_result*/
- /*No:MANIFEST_ARRAY.is_static*/
- int r436compile_to_jvm_into(T436* C,T0* a1){
- int R=0;
- R=1;
- r436compile_to_jvm(C);
- return R;
- }
- /*No:MANIFEST_ARRAY.list*/
- void r436compile_target_to_jvm(T436* C){
- T0* _ca=NULL;
- T0* _cp=NULL;
- int _idx_rc=0;
- T0* _rc=NULL;
- int _space=0;
- int _idx=0;
- int _i=0;
- T0* _elt_type=NULL;
- T0* _rt=NULL;
- _cp=oBC364constant_pool;
- _ca=oBC364code_attribute;
- _rt=(((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_run_type/*16*/;
- _rc=X291run_class(_rt);
- _elt_type=X291run_type(r701item(((T701*)(X291generic_list(_rt))),1));
- _idx_rc=r355fully_qualified_constant_pool_index(((T355*)_rc));
- r256opcode_new(((T256*)_ca),_idx_rc);
- _idx=r95idx_fieldref4(((T95*)_cp),_idx_rc,((T0*)ms87_473),((T0*)ms162_470));
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- /*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)_ca),4,1);
- /*]*/
- r256opcode_putfield(((T256*)_ca),_idx,-(2));
- _idx=r95idx_fieldref4(((T95*)_cp),_idx_rc,((T0*)ms140_473),((T0*)ms162_470));
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- /*[IRF3.4opcode_iconst_m1*/r256opcode(((T256*)_ca),2,1);
- /*]*/
- }
- else {
- r256opcode_push_integer(((T256*)_ca),X96count((((T436*)C))->_list/*16*/));
- }
- /*FI*/r256opcode_putfield(((T256*)_ca),_idx,-(2));
- _idx=r95idx_fieldref4(((T95*)_cp),_idx_rc,((T0*)ms55_473),((T0*)ms162_470));
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)_ca),3,1);
- /*]*/
- }
- else {
- r256opcode_push_integer(((T256*)_ca),X96count((((T436*)C))->_list/*16*/));
- }
- /*FI*/r256opcode_putfield(((T256*)_ca),_idx,-(2));
- _idx=r95idx_fieldref4(((T95*)_cp),_idx_rc,((T0*)ms130_473),r436sd(_elt_type));
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)_ca),1,1);
- /*]*/
- }
- else {
- r256opcode_push_integer(((T256*)_ca),X96count((((T436*)C))->_list/*16*/));
- X291jvm_xnewarray(_elt_type);
- _i=1;
- while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/)))) {
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- r256opcode_push_integer(((T256*)_ca),(_i)-(1));
- _space=X662compile_to_jvm_into(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)),_elt_type);
- X291jvm_xastore(_elt_type);
- _i=(_i)+(1);
- }
- }
- /*FI*/r256opcode_putfield(((T256*)_ca),_idx,-(2));
- }
- T0*oBC436tmp_string=NULL;
- /*No:MANIFEST_ARRAY.can_be_dropped*/
- /*No:MANIFEST_ARRAY.current_type*/
- /*No:MANIFEST_ARRAY.us_storage*/
- /*No:MANIFEST_ARRAY.jvm_assign*/
- /*No:MANIFEST_ARRAY.static_value_mem*/
- /*No:MANIFEST_ARRAY.is_manifest_string*/
- /*No:MANIFEST_ARRAY.is_void*/
- void r436compile_to_jvm(T436* C){
- T0* _ca=NULL;
- T0* _cp=NULL;
- int _idx_rc=0;
- T0* _rc=NULL;
- int _space=0;
- int _idx=0;
- int _i=0;
- T0* _elt_type=NULL;
- T0* _rt=NULL;
- _cp=oBC364constant_pool;
- _ca=oBC364code_attribute;
- _rt=(((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_run_type/*16*/;
- _rc=X291run_class(_rt);
- _elt_type=X291run_type(r701item(((T701*)(X291generic_list(_rt))),1));
- _idx_rc=r355fully_qualified_constant_pool_index(((T355*)_rc));
- r256opcode_new(((T256*)_ca),_idx_rc);
- _idx=r95idx_fieldref4(((T95*)_cp),_idx_rc,((T0*)ms87_473),((T0*)ms162_470));
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- /*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)_ca),4,1);
- /*]*/
- r256opcode_putfield(((T256*)_ca),_idx,-(2));
- _idx=r95idx_fieldref4(((T95*)_cp),_idx_rc,((T0*)ms140_473),((T0*)ms162_470));
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- /*[IRF3.4opcode_iconst_m1*/r256opcode(((T256*)_ca),2,1);
- /*]*/
- }
- else {
- r256opcode_push_integer(((T256*)_ca),X96count((((T436*)C))->_list/*16*/));
- }
- /*FI*/r256opcode_putfield(((T256*)_ca),_idx,-(2));
- _idx=r95idx_fieldref4(((T95*)_cp),_idx_rc,((T0*)ms55_473),((T0*)ms162_470));
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)_ca),3,1);
- /*]*/
- }
- else {
- r256opcode_push_integer(((T256*)_ca),X96count((((T436*)C))->_list/*16*/));
- }
- /*FI*/r256opcode_putfield(((T256*)_ca),_idx,-(2));
- _idx=r95idx_fieldref4(((T95*)_cp),_idx_rc,((T0*)ms130_473),r436sd(_elt_type));
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)_ca),1,1);
- /*]*/
- }
- else {
- r256opcode_push_integer(((T256*)_ca),X96count((((T436*)C))->_list/*16*/));
- X291jvm_xnewarray(_elt_type);
- _i=1;
- while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/)))) {
- /*[IRF3.4opcode_dup*/r256opcode(((T256*)_ca),89,1);
- /*]*/
- r256opcode_push_integer(((T256*)_ca),(_i)-(1));
- _space=X662compile_to_jvm_into(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)),_elt_type);
- X291jvm_xastore(_elt_type);
- _i=(_i)+(1);
- }
- }
- /*FI*/r256opcode_putfield(((T256*)_ca),_idx,-(2));
- }
- int r436is_pre_computable(T436* C){
- int R=0;
- T0* _e=NULL;
- int _i=0;
- /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
- R=1;
- }
- else if (X291is_string(r701item(((T701*)((((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_generic_list/*8*/)),1))) {
- R=1;
- _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
- while (!((!(R))||((_i)==(0)))) {
- _e=/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i));
- R=X662is_pre_computable(_e);
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- int r436use_current(T436* C){
- int R=0;
- int _i=0;
- /*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
- _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
- while (!(((_i)==(0))||(R))) {
- R=X662use_current(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void r436error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:MANIFEST_ARRAY.isa_dca_inline_argument*/
- /*No:MANIFEST_ARRAY.us_upper*/
- void r436afd_check(T436* C){
- int _i=0;
- /*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
- _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
- while (!((_i)==(0))) {
- X662afd_check(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
- _i=(_i)-(1);
- }
- }
- /*FI*/}
- void r644get_started(T644* C,T0* a1){
- T0* _rp2=NULL;
- T0* _rp1=NULL;
- int _j=0;
- int _i=0;
- _i=(((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/;
- while (!((_i)==(0))) {
- _rp1=r552item(((T552*)((((T644*)C))->_list/*0*/)),_i);
- /*IF*/if (!(r605has(((T605*)a1),(((T498*)((T498*)_rp1)))->_old_name/*0*/))) {
- r683add_position(X776start_position((((T498*)((T498*)_rp1)))->_old_name/*0*/));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_644);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/_i=(_i)-(1);
- _j=_i;
- while (!((_j)==(0))) {
- _rp2=r552item(((T552*)((((T644*)C))->_list/*0*/)),_j);
- /*IF*/if ((X776to_key((((T498*)((T498*)_rp2)))->_old_name/*0*/))==((void*)(X776to_key((((T498*)((T498*)_rp1)))->_old_name/*0*/)))) {
- r683add_position(X776start_position((((T498*)((T498*)_rp1)))->_old_name/*0*/));
- r683add_position(X776start_position((((T498*)((T498*)_rp2)))->_old_name/*0*/));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_644);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/_j=(_j)-(1);
- }
- }
- }
- int r644affect(T644* C,T0* a1){
- int R=0;
- T0* _fn_to_key=NULL;
- T0* _rp=NULL;
- int _i=0;
- _i=(((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/;
- while (!((R)||((_i)==(0)))) {
- _rp=r552item(((T552*)((((T644*)C))->_list/*0*/)),_i);
- _fn_to_key=X776to_key(a1);
- /*IF*/if (((X776to_key((((T498*)((T498*)_rp)))->_new_name/*4*/))==((void*)(_fn_to_key)))||((X776to_key((((T498*)((T498*)_rp)))->_old_name/*0*/))==((void*)(_fn_to_key)))) {
- R=1;
- }
- else {
- _i=(_i)-(1);
- }
- /*FI*/}
- return R;
- }
- /*No:RENAME_LIST.make*/
- T0* r644to_new_name(T644* C,T0* a1){
- T0* R=NULL;
- T0* _fn_to_key=NULL;
- int _i=0;
- _i=1;
- _fn_to_key=X776to_key(a1);
- while (!(((R)!=((void*)(NULL)))||((_i)>((((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/)))) {
- /*IF*/if ((X776to_key((((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_old_name/*0*/))==((void*)(_fn_to_key))) {
- R=(((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_new_name/*4*/;
- }
- /*FI*/_i=(_i)+(1);
- }
- /*IF*/if ((R)==((void*)(NULL))) {
- R=a1;
- }
- /*FI*/return R;
- }
- T0* r644to_old_name(T644* C,T0* a1){
- T0* R=NULL;
- T0* _fn_to_key=NULL;
- int _i=0;
- _i=1;
- _fn_to_key=X776to_key(a1);
- while (!(((R)!=((void*)(NULL)))||((_i)>((((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/)))) {
- /*IF*/if ((X776to_key((((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_new_name/*4*/))==((void*)(_fn_to_key))) {
- R=(((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_old_name/*0*/;
- }
- /*FI*/_i=(_i)+(1);
- }
- /*IF*/if ((R)==((void*)(NULL))) {
- R=a1;
- }
- /*FI*/return R;
- }
- /*No:RENAME_LIST.list*/
- /*No:RENAME_LIST.add_last*/
- /*No:RENAME_LIST.fatal_error*/
- /*No:TYPE_DOUBLE.id*/
- /*No:TYPE_DOUBLE.jvm_target_descriptor_in*/
- int r388jvm_if_x_eq(void){
- int R=0;
- T0* _ca=NULL;
- _ca=oBC364code_attribute;
- /*[IRF3.4opcode_dcmpg*/r256opcode(((T256*)_ca),152,-(3));
- /*]*/
- R=r256opcode_ifeq(((T256*)_ca));
- return R;
- }
- int r388has_creation(T388* C,T0* a1){
- int R=0;
- r683add_position(X776start_position(a1));
- r388error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T388*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
- return R;
- }
- /*No:TYPE_DOUBLE.is_anchored*/
- /*No:TYPE_DOUBLE.is_array*/
- int r388is_a(T388* C,T0* a1){
- int R=0;
- /*IF*/if (X291is_double(a1)) {
- R=1;
- }
- else {
- R=r605is_subclass_of(((T605*)(r388base_class(C))),X291base_class(a1));
- /*IF*/if (R) {
- r388used_as_reference();
- }
- /*FI*/}
- /*FI*//*IF*/if (!(R)) {
- r683add_type((T0*)C,((T0*)ms71_470));
- r683add_type(a1,((T0*)ms67_470));
- }
- /*FI*/return R;
- }
- /*No:TYPE_DOUBLE.jvm_to_reference*/
- /*No:TYPE_DOUBLE.run_type*/
- /*No:TYPE_DOUBLE.is_pointer*/
- /*No:TYPE_DOUBLE.us_double_ref*/
- /*No:TYPE_DOUBLE.is_dummy_expanded*/
- int r388jvm_push_default(void){
- int R=0;
- /*[IRF3.4opcode_dconst_0*/r256opcode(((T256*)(oBC364code_attribute)),14,2);
- /*]*/
- R=2;
- return R;
- }
- /*No:TYPE_DOUBLE.is_string*/
- /*No:TYPE_DOUBLE.is_like_feature*/
- /*No:TYPE_DOUBLE.is_like_current*/
- void r388make(T388* C,T0* a1){
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,((T0*)ms11_473),a1);
- C->_base_class_name=(T0*)n;
- }
- }
- /*No:TYPE_DOUBLE.nb_errors*/
- /*No:TYPE_DOUBLE.us_item*/
- void r388load_ref(T0* a1){
- T0* _rf=NULL;
- T0* _rc=NULL;
- T0* _cn=NULL;
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,a1,NULL);
- _cn=(T0*)n;
- }
- _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
- r355set_at_run_time(((T355*)_rc));
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
- }
- /*No:TYPE_DOUBLE.jvm_return_code*/
- int fBC388check_type=0;
- void r388check_type(T388* C){
- if (fBC388check_type==0){
- T0* _rc=NULL;
- T0* _bc=NULL;
- fBC388check_type=1;
- _bc=r388base_class(C);
- /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _rc=r388run_class(C);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
- r388error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T388*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_388));
- }
- /*FI*/}
- /*FI*/}}
- /*No:TYPE_DOUBLE.jvm_xnewarray*/
- /*No:TYPE_DOUBLE.jvm_descriptor_in*/
- /*No:TYPE_DOUBLE.start_position*/
- /*No:TYPE_DOUBLE.fz_inako*/
- /*No:TYPE_DOUBLE.is_user_expanded*/
- /*No:TYPE_DOUBLE.is_character*/
- T0* r388written_mark(void){
- T0* R=NULL;
- R=((T0*)ms11_473);
- return R;
- }
- /*No:TYPE_DOUBLE.is_run_type*/
- T0* r388to_runnable(T388* C,T0* a1){
- T0* R=NULL;
- R=(T0*)C;
- r388check_type(C);
- return R;
- }
- /*No:TYPE_DOUBLE.is_formal_generic*/
- T0* r388generic_list(T388* C){
- T0* R=NULL;
- r388fatal_error_generic_list(C);
- return R;
- }
- /*No:TYPE_DOUBLE.is_real*/
- /*No:TYPE_DOUBLE.is_bit*/
- void r388fatal_error_generic_list(T388* C){
- r683add_type((T0*)C,((T0*)ms12_291));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*No:TYPE_DOUBLE.jvm_check_class_invariant*/
- /*No:TYPE_DOUBLE.jvm_xaload*/
- T0* r388smallest_ancestor(T388* C,T0* a1){
- T0* R=NULL;
- T0* _rto=NULL;
- _rto=X291run_type(a1);
- /*IF*/if (X291is_integer(_rto)) {
- R=(T0*)C;
- }
- else if (X291is_real(_rto)) {
- R=(T0*)C;
- }
- else if (X291is_double(_rto)) {
- R=(T0*)C;
- }
- else {
- R=r657smallest_ancestor(((T657*)(r388type_double_ref())),_rto);
- }
- /*FI*/return R;
- }
- /*No:TYPE_DOUBLE.is_boolean*/
- /*No:TYPE_DOUBLE.is_double*/
- int r388jvm_stack_space(void){
- int R=0;
- /*IF*/{/*AT*/R=2;
- }
- /*FI*/return R;
- }
- T0* r388run_class(T388* C){
- T0* R=NULL;
- R=r604run_class((T0*)C);
- return R;
- }
- T0* r388run_time_mark(void){
- T0* R=NULL;
- R=((T0*)ms11_473);
- return R;
- }
-
-